@echo off
chcp 65001 >nul
title 💰 预算管理系统 - 一键启动
color 0A

echo.
echo ╔════════════════════════════════════════════╗
echo ║                                            ║
echo ║     💰 预算管理系统 - 一键启动            ║
echo ║                                            ║
echo ╚════════════════════════════════════════════╝
echo.
echo.

echo [1/4] 清理旧进程...
taskkill /F /IM node.exe >nul 2>&1
if %errorlevel% equ 0 (
    echo ✅ 已清理旧的 Node.js 进程
    timeout /t 2 >nul
) else (
    echo ✅ 无旧进程需要清理
)

echo.
echo [2/4] 检查配置文件...
if not exist "backend\config\database.js" (
    echo ❌ 错误：未找到数据库配置文件
    echo 📝 请确保 backend\config\database.js 存在
    pause
    exit /b 1
)
echo ✅ 数据库配置文件存在

REM 创建或检查.env文件
if not exist "backend\.env" (
    echo 🔧 创建数据库配置文件...
    (
        echo # 数据库配置
        echo DB_HOST=localhost
        echo DB_USER=root
        echo DB_PASSWORD=123456
        echo DB_NAME=budget_system
        echo DB_PORT=3306
        echo.
        echo # JWT配置
        echo JWT_SECRET=budget_system_secret_key_2025
        echo JWT_EXPIRES_IN=7d
    ) > backend\.env
    echo ✅ 配置文件已创建（默认密码：123456）
    echo ⚠️  如果MySQL密码不是123456，请修改 backend\.env 文件
) else (
    echo ✅ 配置文件已存在
)

echo.
echo [3/4] 启动后端服务器...
echo.
echo 🚀 正在启动后端服务（端口 3000）...
echo.
start "💰预算系统-后端服务" cmd /k "cd /d "%~dp0backend" && npm start"

echo ⏳ 等待后端服务启动...
timeout /t 6 >nul
echo ✅ 后端服务已启动

echo.
echo [4/4] 打开前端页面...
timeout /t 2 >nul
echo 🌐 正在打开浏览器...

REM 打开登录页面
start "" "%~dp0src\login.html"

echo ✅ 浏览器已打开

echo.
echo.
echo ╔════════════════════════════════════════════╗
echo ║                                            ║
echo ║     ✅ 系统启动完成！                     ║
echo ║                                            ║
echo ║  📋 使用说明：                            ║
echo ║  • 后端服务：http://localhost:3000       ║
echo ║  • 前端页面已在浏览器打开                ║
echo ║  • 不要关闭后端窗口！                    ║
echo ║  • 本窗口可以关闭                        ║
echo ║                                            ║
echo ║  ⚠️  停止服务：                           ║
echo ║  • 关闭"预算系统-后端服务"窗口           ║
echo ║  • 或在该窗口按 Ctrl+C                   ║
echo ║                                            ║
echo ╚════════════════════════════════════════════╝
echo.
echo.
echo 💡 提示：如果页面无法访问，请检查：
echo    1. 后端窗口是否有错误信息
echo    2. MySQL服务是否启动
echo    3. 数据库密码是否正确
echo.
echo.

timeout /t 5 >nul

